home *** CD-ROM | disk | FTP | other *** search
/ Amiga Games: Greatest Hits 1996 / Amiga Games: Greatest Hits 1996.iso / archive / userbox / publicdomain / bootgauge.lha / BootGauge / help / BootGauge.guide (.txt) next >
Amigaguide Document  |  1996-05-11  |  42KB  |  1,048 lines

  1. @DATABASE BootGauge
  2. @MASTER   BootGauge
  3. @$VER:    0.9
  4. @AUTHOR   Timo C. Nentwig
  5. @(C)      Timo C. Nentwig
  6. @TAB      4
  7. @MACRO START      "@{START}"
  8. @MACRO END        "@{END}"
  9. @MACRO BOLD       "@{B}$1@{UB}"
  10. @MACRO ITALIC     "@{I}$1@{UI}"
  11. @MACRO UNDERLINED "@{U}$1@{UU}"
  12. @MACRO HEAD       "@{B}@{U}$1@{UB}@{UU}"
  13. @MACRO SHINE      "@{FG SHINE}$1@{FG TEXT}"
  14. @MACRO SHINEBOLD  "@{FG SHINE}@{B}$1@{UB}@{FG TEXT}"
  15. @WARPWRAP
  16. @SMARTWRAP
  17. /// Main
  18. @NODE "Main" "BootGauge- The Boot Enhancer"
  19. @{END}
  20. @{JCENTER}
  21. @{"Non-V40 User read me" LINK "Non-V40"}
  22. @{SHINEBOLD "BootGauge"}
  23. @{BOLD "The Boot Enhancer For The Amiga"}
  24. Copyright 1995-1996 by Timo C. Nentwig
  25. Tcn@techbase.in-berlin.de
  26. GIFTWARE
  27. @{HEAD "The boring stuff"}
  28. @{" Overview      "    LINK    "Overview"     }                                      Short description
  29. @{" Distribution  "    LINK    "Distribution" }                                        CDs, BBS, Disks
  30. @{" Disclaimer    "    LINK    "Disclaimer"   }                             You won't read, will you ?
  31. @{" Status        "    LINK    "Status"       }                                 Hard work, so GIFTWARE
  32. @{" Author        "    LINK    "Author"       }                                             Who am I ?
  33. @{HEAD "Getting started"}
  34. @{" Starting ...  "    LINK    "Start"        }                         Calling BootGauge the 1st time
  35. @{" Modules       "    LINK    "Modules"      }                               The modules of BootGauge
  36. @{" Requirements  "    LINK    "Requirements" }                  Windows '95 (Multimedia edition only)
  37. @{" Installation  "    LINK    "Install"      }                                     Very complicated !
  38. @{" Notes         "    LINK    "Notes"       
  39. }                                            important !
  40. @{" Usage         "    LINK    "Usage"        }                                        How to use BG ?
  41. @{" Configuration "    LINK    "Config"       }                             How to configure BootGauge
  42. @{HEAD "Miscellaneous"}
  43. @{" History       "    LINK    "History" 9999 }                                what did I already do ?
  44. @{" ToDo          "    LINK    "ToDo"         }                                     what shall I  do ?
  45. @{" Thanks ...    "    LINK    "Thanks"       }                                 People I want to thank
  46. @{JLEFT}
  47. @{START}
  48. @ENDNODE
  49. /// Non-V40
  50. @NODE "Non-V40" "Hints for Non-V40 Users"
  51. @{END}
  52. This Guide was written for and under AmigaOS 3.1 (V40). It uses  among
  53. other  things  SMARTWRAP (or WORDWRAP) etc. which may not be available
  54. in older releases.
  55. @ENDNODE
  56. /// Overview
  57. @NODE "Overview" "Overview"
  58. @{END}
  59. @{HEAD "Overview" }
  60. @{JCENTER}
  61. _________________________________________________________
  62. | Short:    Display gauge bar during booting            |
  63. | Uploader: Tcn@techbase.in-berlin.de (Timo C. Nentwig) |
  64. | Author:   Tcn@techbase.in-berlin.de (Timo C. Nentwig) |
  65. | Type:     util/boot                                   |
  66. @{"Status" LINK "Status"}
  67. @{JLEFT}
  68. @{START}
  69. My A4k30 needs about 1 minute to boot. It was boring to wait all the time and just seeing a black screen.
  70. @{PAR}
  71. Also boot pictures didn't produce real fun. And it is pretty unprofessional ;-)
  72. @{PAR}
  73. When I saw that the MAC (System 7.5.1+) had a boot gauge bar I began to develop an equal program and here it is.
  74. @{PAR}
  75. BootGauge executes a @{UNDERLINED "specified"} startup-sequence and displays
  76. during that e.g. a gauge bar.
  77. @{PAR}
  78. @{END}
  79. @{JCENTER}
  80. But BootGauge offers you even more ... just read on.
  81. @{JLEFT}
  82. @ENDNODE
  83. /// Distribution
  84. @NODE "Distribution" "Distribution"
  85. @{END}
  86. @{HEAD "Distribution"}
  87. @{JCENTER}
  88. @{SHINEBOLD "BootGauge is copyrighted 
  89. 1995/1996 by Timo C. Nentwig."}
  90. @{SHINEBOLD "All Rights Reserved !"}
  91. @{JLEFT}
  92. You are allowed to distribute BootGauge on:
  93. @{JCENTER}
  94.  AmiNet .........
  95.  Amiga PD CDs ...
  96.  BBS ............
  97. @{BOLD "OTHERWISE (E.G. PD DISKS !) YOU WILL HAVE TO ASK ME FIRST !"}
  98. @{JLEFT}
  99. @{START}
  100. Do your best to make BootGauge everywhere on the earth (BBS, FTP, ...)
  101. available ! :-)
  102. @ENDNODE
  103. /// Disclaimer
  104. @NODE "Disclaimer" "Disclaimer"
  105. @{HEAD "Disclaimer"}
  106. @{FG Shine}
  107. THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY
  108. APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT
  109. HOLDER AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT
  110. WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT
  111. LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
  112. A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND
  113. PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE
  114. DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR
  115. CORRECTION.
  116. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
  117. WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY REDISTRIBUTE THE
  118. PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING
  119. ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT
  120. OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
  121. TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED
  122. BY YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH
  123. ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN
  124. ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
  125. @ENDNODE
  126. /// Status
  127. @NODE "Status" "Status"
  128. @{END}
  129. @{HEAD "Status"}
  130. @{JCENTER}
  131. @{SHINEBOLD "BootGauge is GIFTWARE !"}
  132. @{JLEFT}
  133. @{START}
  134. Please accept this. BootGauge has been a very time-consuming job for
  135. me @{"(see History)" LINK "History" 9999 } and it would be nice if you would support me a bit
  136. and send me a nice gift if you like BootGauge and use it frequently.
  137. @{PAR}
  138. I don't want to make BootGauge SHAREWARE and add keyfile protection ....
  139. @{END}
  140. @{JCENTER}
  141. @{"Author" LINK "Author" }
  142. @ENDNODE
  143. /// Author
  144. @NODE "Author" "Author"
  145. @{END}
  146. @{HEAD "Author"}
  147. @{JLEFT}
  148.         @{SHINEBOLD "SMail:"}
  149. @{JCENTER}
  150. Timo C. Nentwig
  151. Edelhofdamm 35
  152. 13465 Berlin
  153. Germany
  154. @{JLEFT}
  155.         @{SHINEBOLD "EMail:"}
  156. @{JCENTER}
  157. Tcn@techbase.in-berlin.de
  158. Tcn@zikzak.in-berlin.de
  159. @{JLEFT}
  160. @{START}
  161. Feel free to write me whatever you want !
  162. @ENDNODE
  163. /// Start
  164. @NODE "Start" "Getting started"
  165. @{END}
  166. @{HEAD "Start"}
  167. @{START}
  168. When you start BootGauge the first time you'll see 6 open windows in
  169. the upper left edge of the screen.
  170. @{PAR}
  171. Best would be to select the About or Wait menu item (RCOMMAND + W)
  172. first to delay the execution of the sequence.
  173. @{PAR}
  174. Move these windows anywhere and BootGauge will save (if not disabled by SNAPWINPOS) their position
  175. when they are closed (to env[arc]:bootgauge/mod_*.prefs).
  176. @{PAR}
  177. @{END}
  178.     @{SHINEBOLD "Menu:"}
  179. @{JCENTER}
  180.  About ............. open an about requester
  181. Wait ............ open a requester and wait
  182. Execute ..... single line command interface
  183. Reboot ...................... reboot system
  184. Quit ............. quit program immediately
  185. @ENDNODE
  186. /// Modules
  187. @NODE "Modules" "Modules"
  188. @{END}
  189. @{HEAD "Modules"}
  190. @{START}
  191. BootGauge features these modules (all running in its own process):
  192. @{END}
  193. @{JCENTER}
  194.  mod_Devs ..
  195.  mod_Gauge .
  196.  mod_Mem ...
  197.  mod_Text ..
  198.  mod_Time ..
  199.  mod_Sys ...
  200. @{JLEFT}
  201. @{START}
  202. @{SHINEBOLD "mod_Devs:"}
  203. General information about the devices. The window is automatically
  204. updated when a new device is added (e.g. when BootGauge cross "Mount
  205. Devs:DosDrivers").
  206. @{PAR}
  207. @{SHINEBOLD "mod_Gauge:"}
  208. The main module. It shows a gauge bar during BootGauge is booting the
  209. system. Additionaly you can add a quit gadget.
  210. @{PAR}
  211. @{SHINEBOLD "mod_Mem:"}
  212. Information about the chip, fast and total memory.
  213. @{PAR}
  214. @{SHINEBOLD "mod_Text:"}
  215. Displays the line BootGauge is currently working on. The 4 text
  216. gadgets on the right side of the window show you the count of commands
  217. that returned WARN (5), FAIL (10), ERROR (20) and other errors.
  218. @{PAR}
  219. @{SHINEBOLD "mod_Time:"}
  220. This module shows you the current time, date and day.
  221. @{PAR}
  222. @{SHINEBOLD "mod_Sys:"}
  223. Information about the CPU, FPU, Chip set, OS, ...
  224. @ENDNODE
  225. /// Requirements
  226. @NODE "Requirements" "Requirements"
  227. @{END}
  228. @{HEAD "Requirements"}
  229. @{JCENTER}
  230.  Amiga OS 2 but 3 is supported. ...............................
  231.   BootGauge has only been tested under OS3.1 ! .................
  232.   It @{BOLD "should"} run with OS2. ......................................
  233.   (I'm too lazy to check this out, get OS3.1 and throw your 10
  234.   years old A500 away.) ........................................
  235.  Any resolution with at least 8 colors. .......................
  236.  gtlayout.library .............................................
  237. @{"Thanks" LINK "Thanks"}
  238. @ENDNODE
  239. /// Installation
  240. @NODE "Install" "Installation"
  241. @{END}
  242. @{HEAD "Installation"}
  243. @{START}
  244. Use the Installer. It does not install BootGauge completely but it
  245. copies all required files to the right places.
  246. @{END}
  247. @{JCENTER}
  248.  copy BootGauge to c: .................................
  249. create the directory env[arc]:bootgauge ..............
  250. copy BootGauge.prefs to env[arc]:bootgauge and edit it
  251. @{JLEFT}
  252. @{START}
  253. If you want to use a different resolution but PAL or NTSC you have to
  254. @{END}
  255. @{JCENTER}
  256. Devs:Monitors/<your monitor>
  257. @{JLEFT}
  258. @{START}
  259. before starting BootGauge and a
  260. @{END}
  261. @{JCENTER}
  262. Assign env: envarc:
  263. @{JLEFT}
  264. @{START}
  265. @{UNDERLINED "may"} be required.
  266. @{PAR}
  267. Now you have to modify your s:startup-sequence and create a
  268. s:startup-sequence and a separate file which is the real, old
  269. s:startup-sequence.
  270. @{PAR}
  271. @{END}
  272.     @{SHINEBOLD "Example:"}
  273.                 @{" startup-sequence " LINK "startup-sequence"}
  274.                 @{" system-startup   " LINK "system-startup"  }
  275. @{START}
  276. Your second, real startup-sequence can be placed and called where and
  277. what you want.
  278. @{PAR}
  279. Default is sys:s/system-startup.
  280. @{PAR}
  281. BootGauge is configurable by @{"Shell arguments" LINK "Config"} and by
  282. its own @{"configuration file" LINK "Config"}.
  283. @ENDNODE
  284. /// Notes
  285. @NODE "Notes" "Notes"
  286. @{END}
  287. @{HEAD "Notes"}
  288. @{JCENTER}
  289. BootGauge does no pre-checking of the startup file ! E.g.  IF without an
  290.   ENDIF is not detected !
  291. The next version will probably require V39/V40.
  292. The length  of  a  line in the specified sequence  are  limited  to  256
  293.   characters. ............................................................
  294.  BootGauge can't or won't handle the following statements (yet): ........
  295.  CAN'T: ALIAS ............................... (simply cannot, yet)
  296.  WON'T: ASK ....................... (nonsense in startup-sequence)
  297.  CAN'T: EVAL ............... (will be changed as soon as possible)
  298.  CAN'T: GET .............................. (is replaced by getenv)
  299.  CAN'T: IF, ELSE, ENDIF .... (will be changed as soon as possible)
  300.  CAN'T: LAB, SKIP, ENDSKIP . (will be changed as soon as possible)
  301.  WON'T: PROMPT .................... (nonsense in startup-sequence)
  302.  CAN'T: SET .............................. (is replaced by setenv)
  303. CAN'T: UNALIAS ............................. (simply cannot, yet)
  304.  WON'T: WHY ....................... (nonsense in startup-sequence)
  305.  CAN'T: <$$> .....................................................
  306.  WON'T: .BRA ...................... (nonsense in startup-sequence)
  307.  WON'T: .DEF ...................... (nonsense in startup-sequence)
  308.  WON'T: .DOLLAR/.DOL .............. (nonsense in startup-sequence)
  309.  WON'T: .KET ...................... (nonsense in startup-sequence)
  310.  WON'T: .KEY/.K ................... (nonsense in startup-sequence)
  311. @ENDNODE
  312. /// Usage
  313. @NODE "Usage" "Usage"
  314. @{END}
  315. @{HEAD "Usage"}
  316. @{START}
  317. The syntax of BootGauge:
  318. @{END}
  319. @{JCENTER}
  320. BootGauge <options> [>NIL:]
  321. @{JLEFT}
  322. @{START}
  323. To get the argument template of BootGauge's @{"options" LINK "Config"} enter
  324. @{END}
  325. @{JCENTER}
  326. BootGauge ?
  327. @{JLEFT}
  328. @{START}
  329. in the Shell. And type again "?" to get complete information.
  330. @{PAR}
  331. The options are not necessary since BootGauge can be configured by an
  332. ASCII config file that is either
  333. @{END}
  334. @{JCENTER}
  335. env:BootGauge/BootGauge.prefs
  336. envarc:BootGauge/BootGauge.prefs
  337. @ENDNODE
  338. /// Config
  339. @NODE "Config" "Configuration"
  340. @{END}
  341. @{HEAD "Config"}
  342. There are two methods of configuring BootGauge:
  343. @{JCENTER}
  344.     @{" Shell " LINK "Config_Shell"} .... not all arguments supported
  345.     @{" File  " LINK "Config_File" } ............. main configuration
  346. @ENDNODE
  347. /// Config_Shell
  348. @NODE "Config_Shell" "Configuration, Shell part"
  349. @{END}
  350. @{HEAD "Config: Shell"}
  351. @{JCENTER}
  352. @{SHINEBOLD "Attention !"}
  353. @{JLEFT}
  354. @{START}
  355. The shell mode is not able to configure all options. Use the
  356. configuration file. It's just for temporary tests:
  357. @{END}
  358. @{JCENTER}
  359. BootGauge <option>
  360. @{JLEFT}
  361. @{START}
  362. @{END}
  363. @{JCENTER}
  364. BootGauge ?
  365. @{JLEFT}
  366. @{START}
  367. to get a short help.
  368. @{BOLD "<option> can be:"}
  369. @{END}
  370. @{JCENTER}
  371. Options       Argument                                    Description
  372. ---------------------------------------------------------------------
  373. MODEID        Number       ID of the screen that BootGauge should use
  374.                                 Use e.g. GetModeID to get this number
  375. DELAY         Number      Delay given ticks after every line executed
  376. SEQ           String         Path to the file that should be executed
  377. SCRPEN        Number                       Pen of screen's background
  378. NOCHECKED     Nothing                    Fill background check or not
  379. WINPEN        Number                       Pen of window's background
  380. TEST          Nothing                  Just don't execute the command
  381. NO_DEVS       Nothing                     Do not open module mod_Devs
  382. NO_GAUGE      Nothing                          Disables the gauge bar
  383. NO_MEM        Nothing                      Do not open module mod_Mem
  384. NO_TEXT       Nothing                     Do not open module mod_Text
  385. NO_TIME       Nothing                     Do not open module mod_Time
  386. NO_SYS        Nothing                      Do not open module mod_Sys
  387. @ENDNODE
  388. /// Config_File
  389. @NODE "Config_File" "Configuration, File part"
  390. @{END}
  391. @{HEAD "Config: File"}
  392. @{START}
  393. The configuration file of BootGauge is either
  394. @{END}
  395. @{JCENTER}
  396. env:BootGauge/BootGauge.prefs
  397. envarc:BootGauge/BootGauge.prefs
  398. @{JLEFT}
  399. @{START}
  400. Just one of them is required.
  401. @{PAR}
  402. The format of a line is:
  403. @{END}
  404. @{JCENTER}
  405. Keyword <value>
  406. @{JLEFT}
  407. @{START}
  408. If <value> is longer than one word it must be placed in quotes,
  409. otherwise just the first word is parsed. E.g.:
  410. @{END}
  411. @{JCENTER}
  412. Keyword "my value"
  413. @{JLEFT}
  414. @{START}
  415. Comments are introduced by '#' in column 1. E.g.:
  416. @{END}
  417. @{JCENTER}
  418. # this is a comment
  419. @{JLEFT}
  420. @{START}
  421. A whole line @{B}@{U}must not be@{UB}@{UU} longer than 256 chars (more is not read).
  422. @{END}
  423.     @{SHINEBOLD "Example:"}
  424.                 @{"env[arc]:BootGauge/BootGauge.prefs" LINK "BootGauge.prefs"}
  425. @ENDNODE
  426. /// History
  427. @NODE "History" "History"
  428. @{END}
  429. @{HEAD "History"}
  430. @{START}
  431. Sorry, that you'll here just find my personal (but original ;)
  432. developer notes but I am simply too lazy to explain every aspect.
  433. @{END}
  434. I hope you'll understand them anyway ...
  435. **    $VER: BootGauge 0.9 (20 Apr 1996)  **
  436. **       
  437.  1995/1996 Timo C. Nentwig
  438. **          all rights reserved !
  439. **       Tcn@techbase.in-berlin.de
  440. **   ======================================
  441. **    Language:
  442. **    
  443. **      Program is compiled by SAS/C
  444. **    Purpose:
  445. **    
  446. **      Display gauge bar during booting
  447. **    Requirements:
  448. **    
  449. **      
  450.  AmigaOS 2+
  451. **      
  452.  gtlayout.library
  453. mod_Gauge's quit gadget doch GLOBAL, SIG_KILL an Main_proc schicken !
  454. IDCMP_DISKREMOVE scheint nicht beachted zu werden ...
  455. Req() funktioniert scheinbar nicht mit "%s" ... siehe failed commands
  456. split into program and bootgauge.library
  457. #define BOLD \33[1m etc.
  458. Use Req() also instead of printf()
  459. ///"  Bugs"
  460. **    Bugs:
  461. **    
  462. **      
  463. Pictures (BitPlanes ?) sehen falsch aus.     [weber]
  464. **      
  465. Palette der Pics -> Scr's palette
  466. ///"  ToDo"
  467. **    ToDo:
  468. **    
  469. **      
  470.  log file/verbose ?
  471. **      
  472.  if block handling
  473. **      
  474.  Die schei
  475.  Gauge bar mu
  476.  doch irgendwie auf 100% (nicht 101 und nicht 99) zu bringen sein
  477. **      
  478.  /rkm/devices/audio/audio_8svx.c
  479. **      
  480.  Patches/Patch_Libs aus /Yak211/*.(c|h)
  481. **      -- -- Maybe: -- --
  482. **     |
  483.  Farben selbt einstellbar (nicht aus der Palette, sondern selbt einstellbar !!): SetRGB32( &(BG_scr -> ViewPort), 0, r, g, b);
  484. **     |
  485.  Farben aus File lesbar: GetRGB32() or LoadRGB32()
  486. ///"  Notes"
  487. **    Notes:
  488. **    
  489. **      
  490.  TABs = 4
  491. **      
  492.  requires IEEE math library
  493. **      
  494. Uses the MagicWB colors
  495. **      Program has been testet with:  
  496. AmigaGuardian
  497. **      
  498. memwatch.lib (SAS/C link library)
  499. **                                     
  500. OS3.1 only !
  501. **   --------------------------------------
  502. **    History:
  503. **    
  504. /// "    0.1"
  505. **  >>>>>>>>>>>    V0.1
  506. **                 
  507. **  15 Sep 1995    first runable version
  508. /// "    0.2"
  509. **  >>>>>>>>>>>    V0.2
  510. **                 
  511. **  17 Sep 1995    add: background image
  512. **                 add: -gc/-gaugecolor
  513. **                 add: background pattern
  514. **                 add: -sc/-screencolor
  515. **                 add: -nosr/-noscreenraster
  516. **                 add: -test
  517. **                 cng: background image
  518. **                 add: -cv/-viewcommand
  519. **                 add: FAILED_OPENSEQ
  520. /// "    0.3"
  521. **  >>>>>>>>>>>    V0.3
  522. **                 
  523. **  20 Okt 1995    add: check: skip, failat, path
  524. **                 cng: set "BootGauge ..." before everything in titlebar
  525. **                 add: if/endif handling
  526. **                 cng: image handling: now using little img and put it a grid
  527. **                 add: window's x/y size is configureable
  528. **                 add: IText and gauge bar adapts automatically to window's size
  529. **                 add: gauge bar scale
  530. **                 add: -nopat/-nopattern
  531. **                 add: -wc/-windowcolor
  532. **                 add: -nosl/-noscale
  533. **                 add: -gbc/-gaugebackcolor
  534. **                 add: subprg: -getid/-getmodeid
  535. **                 fix: check if BG_win is too large for BG_scr
  536. **                 add: c = tolower(c);
  537. **                 fix: if handling now correct
  538. **                 fix: cmd handling now correct (skip/notitle, failat ...)
  539. **                 add: skip/lab handling
  540. **                 cng: BootGauge -> BG (prg-intern)
  541. **                 cng: image
  542. **                 cng: palette, using now 32bit palette (SA_Colors32)
  543. **                 add: -nodb/-nodebug
  544. **                 cng: -no* int -> BOOL
  545. **  01 Nov 1995    add: -emod/-ecsmode
  546. **                 add: NO_COMMENT
  547. **  >>>>>>>>>>>    Initial Release (AmiNet)
  548. **                 
  549. /// "    0.4"
  550. **  >>>>>>>>>>>    V0.4
  551. **                 
  552. **  11 Nov 1995    cng: requester(str, var); (var argument)
  553. **                 fix: no esc signs in the titlebar anymore
  554. **                 cng: remove comments from titlebar string
  555. **                 add: -btxt/-boottext
  556. **                 add: struct TextAttr font = {...}
  557. **                 add: -notb/-notitlebar
  558. **                 add: subprg: FreeSpace
  559. **                 add: -fsx/freespacex
  560. **                 add: -fsy/freespacey
  561. **                 add: -fsc/freespacecolor
  562. **                 add: -fsx/freespacexs
  563. **                 add: -fstc/freespacetypecolor
  564. **                 add: -fsfc/freespacefypecolor
  565. **  12 Nov 1995    add: subprg: MemSpace
  566. **                 add: -msx/memspacex
  567. **                 add: -msy/memspacey
  568. **                 add: -msc/memspacecolor
  569. **                 add: -msx/memspacexs
  570. **                 add: -mstc/memspacetypecolor
  571. **                 add: -msfc/memspacefontcolor
  572. **  >>>>>>>>>>>>   Beta 1
  573. **                 
  574. **                 rem: dead assignments in MemSpace.c
  575. **                 add: dummy, tmp perc value in MemSpace.c
  576. **  13 Nov 1995    cng: title is now also set on BG_pat
  577. **                 add: menu: about, check marks: ms/fs/titlebar/quit
  578. **                 add: BG is now quitable (menu/quit)
  579. **                 add: menu shortcuts
  580. **                 add: default <sequence> is "sys:s/amiga-startup"
  581. **                 add: IDCMP_DISKINSERTED
  582. **                 cng: minior changes
  583. **                 cng: intern variable & config options
  584. **                 rem: scr_pattern
  585. **                 cng: new structure of source
  586. **                 add: -btxtfp/-boottextfrontpen
  587. **  16 Nov 1995    add: IDCMP_DISKREMOVED
  588. **                 add: MS_putvalue();
  589. **                 rem: FAILED_MEMSPACE
  590. **  17 Nov 1995    cng: overworked DC
  591. **                 add: -dcfp/-displaycmdfontpen
  592. **                 add: -dcx/-displaycmdx
  593. **                 add: -dcy/-displaycmdy
  594. **                 rem: -getid/-getmodeid/subprg:GetModeID();
  595. **                 cng: bootitext is centered between gauge bar and upper win frame
  596. **                 cng: complete CLI commands (eg. no alternative)
  597. **                 cng: Process_Seq() -> DoSeq()
  598. **                 fix: bg started with -noms/-nofs and during running started by menu -> open at y = 0 (titlebar)
  599. /// "    0.5"
  600. **  >>>>>>>>>>>    V0.5
  601. **                 
  602. **  01 Dec 1995    cng: BG_win now using gtlayout
  603. **                 add: 3D frame for BG_win
  604. **                 cng: many minior adjustments (variables, options ...)
  605. **                 cng: all is now using gtlayout
  606. **                 cng: now using WA_BackFill
  607. **                 cng: uses much less mem
  608. **                 fix: bootgauge didn't free all memory
  609. **                 cng: completely overworked (more sources)
  610. **                 rem: many options (in cause of gtlayout)
  611. **  06 Dec 1995    add: ListCmd()
  612. **                 add: LC_putvalue()
  613. **                 add: LC_ShutDown()
  614. **  07 Dec 1995    add: CreateNode()
  615. **                 fix: LC_putvalue now works
  616. **  09 Dec 1995    cng: -winpen (background color) now for all windows
  617. **                 add: check if OS3+ is available
  618. **                 add: SysInfo ()
  619. **  12 Dec 1995    add: OpenLib() [Olaf Barthel]
  620. **                 fix: func = (VOID *) (  (* ( (APTR *)(((struct MenuItem *) n )+1) ) )  );
  621. **                 cng: BG_OpenWindow() -> GaugeBar()
  622. **                 cng. BG_CloseWindow() -> GB_ShutDown()
  623. **                 cng: on/off: gauge bar is now extern
  624. **  13 Dec 1995    add: IDCMP handle for all windows
  625. **                 add: routine to get builtin memory size
  626. **                 cng: MemSpace now featuring also gauge bars
  627. **                 add: SysInfo: CPU, FPU
  628. **                 cng: Now using a GST file (wow !, fast !)
  629. **                 cng: compiling with option: optschedule
  630. **  17 Dec 1995    cng: finished source splitting
  631. **                 add: SysInfo: Chip set
  632. **                 fix: little layout correction in MemSpace()
  633. **                 add: TimeInfo()
  634. **  18 Dec 1995    add: CPUInfo()
  635. **                 cng: menu updated (TimeInfo, CPUInfo) and sorted (alphabetic)
  636. **                 cng: cleaned up unused/old/unrequired variables
  637. **                 cng: names of some variables
  638. **  19 Dec 1995    add: menu item for GaugeBar()
  639. **                 cng: now use normal instead of checking menus
  640. **  20 Dec 1995    cng: bgTimeInfo.c now also displays the seconds
  641. /// "    0.6"
  642. **  >>>>>>>>>>>    V0.6
  643. **                 
  644. **  22 Dec 1995    cng: Requester() accepts now arguments
  645. **                 cng: MemSpace runs in its own task
  646. **  23 Dec 1995    add: SetClickDrive()
  647. **                 cng: overworked a bit and made safer
  648. **                 cng: overworked OpenScr(), screen is now really public
  649. **                 fix: TimeInfo(), e.g. 22:1:5 instead of 22:01:05
  650. **                 fix: didn't recognize end of if-blocks
  651. **                 cng: don't copy more than 2 empty signs into line[] "ab     c" -> "ab c"
  652. **                 cng: titlebar format and use sprintf() for making title_text
  653. **                 rem: nline[]
  654. **                 cng: line[]: no comments, no '\n'
  655. **                 fix: -noreq now takes no effect to Menu/About
  656. **                 fix: problem with comments (ESC sign was shown)
  657. **  25 Dec 1994    add: -drvclick
  658. **                 add: -nobborder; BlackBorder()
  659. **                 add: now it is possible to use a config file if available
  660. **                 cng: overworked DoSeq(): use now fgets(), line is now case-sensitiv (for rename, ...)
  661. **                 add: lower()
  662. **                 add: upper()
  663. **                 add: check result of system(), display error, warn, ... in requester
  664. **                 add: count of system()'s failures are displayed in DisplayCmd
  665. **  >>>>>>>>>>>    Beta 1
  666. **                 
  667. **  28 Dec 1995    add: InitBackFill();
  668. **                 cng: scr's depth defineable
  669. **                 cng: default scr depth 3, use MagicWB colors
  670. **                 cng: DriPens[] (e.g. active title bar text is now white)
  671. **                 cng: overworked Menu_About() a little bit
  672. **                 rem: variable for sub prgs: si, ms, fs, ti, dc, gb, ci; now check if window is open/task is running
  673. **                 rem: menu item for sub programs and titlebar, was simply nonsense
  674. **                 cng: workaround: if titlebar is enabled MoveWindow() [MS, CI, FS] don't overwrite title bar
  675. **                 cng: now just execute path and alias
  676. **                 add: -failat, default = 21;
  677. **                 cng: names of sub programs (and its variables[windows, handle, open_*]), now called "modules"
  678. **                 cng: names of all files (bg_* and mod_*)
  679. **                 cng: better structure
  680. **                 cng: screen title now for all windows
  681. **                 cng: window title of mod_Gauge
  682. **                 fix: if scr's title bar was off, title bar of mod_Text wasn't updated
  683. **  29 Dec 1995    cng: general config structure
  684. **                 fix: several minior bugs, didn't free some bytes
  685. **                 add: dri_pens[] are now defineable
  686. **                 cng: updated evaluateCfg/Args(), now you can configure everything ;-)
  687. **  30 Dev 1995    cng: Menu now in win_Main
  688. **                 cng: win_Main is now the default active window
  689. **                 cng: Screen title bar text now defineable
  690. **  01 Jan 1996    cng: better infos than just "OpenLibs()" failed
  691. **  03 Jan 1996    fix: [Yak:] ClickDrive() didn't free (2 * 56)  = 112 bytes
  692. **                 add: Window's pos is saved automatically
  693. **                 add: POS config file for modules
  694. **                 cng: move bg's confgi files in a own dir
  695. **  05 Jan 1996    add: Exists()
  696. **                 add: ByteCopy()
  697. **                 add: MakeDir()
  698. **                 cng: SaveWinPos() now writes also in env:
  699. **                 cng: now mod_Devs supports again IDCMP_DISKINSERTED
  700. **  >>>>>>>>>>>    Beta 2
  701. **                 
  702. **  08 Jan 1996    cng: mod_Gauge: CloseGadget just quit mod_Gauge not whole app
  703. **                 cng: IDs now in the files where they are used (removed from GST) and using enum{}
  704. **                 cng: mod_Time: now all gadgets are updated
  705. **                 cng: module's gadgets are build by for () [code optimized]
  706. **  09 Jan 1996    add: Font is now defineable
  707. **  13 Jan 1996    cng: removed mod_Mem task, mod_Mem now runs directly again
  708. **                 fix: forgot WA_NewLookMenus, TRUE, in win_Main
  709. **                 add: Menu item: Wait [e.g. for pos windows]
  710. **  14 Jan 1996    cng: now using reqtools.library for requesters
  711. **  16 Jan 1996    add: much more error messages for system()
  712. **                 cng: Requester() -> rprintf ()
  713. **                 cng: improved rprintf () using va_list
  714. /// "    0.7"
  715. **  >>>>>>>>>>>    V0.7
  716. **                 
  717. **  19 Jan 1996    add: SetMousePos()
  718. **  25 Jan 1996    fix: SetMousePos(): used Pubscreen -> Workbench poped up
  719. **                 fix: SetMousePos() didn't free some bytes
  720. **                 fix: many minior fixes, e.g. files/devices/libs may not have been closed
  721. **  26 Jan 1996    cng: rprintf() call wait pointer
  722. **                 add: SetPointerAll()
  723. **                 add: SetTitlePointer()
  724. **                 cng: scr_Main is SA_Behind and first switched to front after opening win_Main
  725. **                 add: use of DriveClick() is defineable
  726. **                 add: use of BlackBorder() is defineable
  727. **                 rem: setmouse is now always set and not longer defineable
  728. **                 rem: requester cannot be disabled anymore
  729. **                 cng: config structure overworked
  730. **  27 Jan 1996    rem: mod_CPU, SysInfo.library can only be used if Executive is running
  731. **  05 Feb 1996    add: fgetsf(), formated replacement for fgets()
  732. **                 cng: mod_Text: WARNs, FAILs, ERRORs, OTHERs are white colored
  733. **  06 Feb 1996    add: parseline()
  734. **                 fix: strpos()
  735. **                 cng: DoSeq() -> ExecuteSeq()
  736. **                 cng: ExecuteSeq() rewritten for more compatibility
  737. **                 add: CheckResult()
  738. **                 cnd: lower() -> str2lwr()
  739. **                 cnd: upper() -> str2upr()
  740. **  08 Feb 1996    fix: fgetsf(): isalpha (...) -> if (c != ' ' && c != '\t')
  741. **                 fix: strpos(): UBYTE -> BYTE, e.g. "\"" wasn't handled correctly
  742. **                 cng: improved strpos(): finds now specified occurance of keyword and not just the first
  743. **                 fix: parseline(): UBYTE -> BYTE, e.g. "\"" wasn't handled correctly
  744. **                 fix: parseline(): now handle commands in quotation marks correct, e.g. "c:my command"
  745. **                 add: more error msg for failed commands
  746. **  09 Feb 1996    cng: GetFastMemSize()/GetChipMemSize() -> GetSizeMem()
  747. **  10 Feb 1996    cng: strpos(): smaller and improved speed a bit
  748. **  13 Feb 1996    cng: SetupConfig() -> SetDefaults()
  749. **                 cng: default <seq> is now sys:s/system-startup
  750. **                 cng: GetDay(), GetDate(), GetTime() -> GetDDT()
  751. **  14 Feb 1996    fix: Problems with urouhack and DrawFrame() [borders were hand-calculated, not win -> Border???]
  752. **                 cng: string functions are not limited to STR_LEN anymore
  753. **  17 Feb 1996    cng: GetDDT() now uses strftime(): time is completely configurable
  754. **  19 Feb 1996    cng: strcmp (str2lwr (...), ...) replaced with stricmp (...)
  755. **                 rem: str2lwr ()
  756. **                 rem: str2upr ()
  757. **  20 Feb 1996    rem: substr(): replaced with strmid ()
  758. **                 fix: memory leak in GetDDT ()
  759. **  23 Feb 1996    fix: all memory leaks !
  760. **  24 Feb 1996    add: Say(): speak a text using narrator.device
  761. **                 add: cfg -> say.*
  762. **  24 Feb 1996    add: strwrd()
  763. **  25 Feb 1996    cng: fopen(), fclose(), fgetc, ... -> Open(), Close(), FGetC, ...
  764. **  01 Mar 1996    fix: sequence wasn't unlocked if user canceled program
  765. **  02 Mar 1996    cng: made again a little bit safer
  766. **                 cng: several minior changes
  767. **  09 Mar 1996    add: DisplayBeep(), Say() if an error happens
  768. **                 cng: very much very little changes in the whole code
  769. **                 add: Macro: Div()
  770. **                 add: CreateBitMap()
  771. **                 add: DeleteBitMap()
  772. **  16 Mar 1996    cng: mod_Sys(): code reduced
  773. **                 cng: mod_Sys(): runs in its own process
  774. **                 add: cfg -> mod.Sys.highlabel
  775. **  17 Mar 1996    add: About window
  776. **  18 Mar 1996    add: Quit menu item for mod_Sys
  777. **                 cng: mod_Sys: optimized
  778. **  22 Mar 1996    add: mod_Sys is quitted by pressing '\033' = escape
  779. **  24 Mar 1996    add: Menu item: Reboot
  780. **                 add: elementary Req()
  781. **  26 Mar 1996    cng: window snapping defineable
  782. **                 cng: snap window only if its position has changed
  783. **  29 Mar 1996    cng: Shell arguments are now evaluated by RDArgs()
  784. **                 cng: Prototype is now defined in SCOptions
  785. **  30 Mar 1996    rem: picture support [at least for the windows]
  786. **                 cng: improved GetMemSize(), now using MEMF_*
  787. **                 fix: mod_Mem works again
  788. **                 rem: Say(), narrator.device support
  789. **  >>>>>>>>>>>    Beta 1
  790. **                 
  791. /// "    0.8"
  792. **  >>>>>>>>>>>    V0.8
  793. **  02 Apr 1996    cng: mod_Devs now also runs in its own process
  794. **  07 Apr 1996    cng: overworked all modules
  795. **                 rem: percent couting in titlebar of mod_Gauge & mod_Text
  796. **                 cng: process creating/removing much safer
  797. **                 add: security inquiry for ColdReboot () by Req ()
  798. **                [cng: Prototypes are now introduced by "PROTO", rewrote DICE's MakeProto]
  799. **                 add: Req () replacing RPintF()
  800. **                 add: 2 MagicWB images for Req ()
  801. /// "    0.9"
  802. **  >>>>>>>>>>>    V0.9
  803. **  09 Apr 1996    cng: all modules now work in their own process !!!
  804. **                 cng: mod_Gauge's quit gadget doesn't quit program but module only
  805. **  11 Apr 1996    add: delay option for testing
  806. **  12 Apr 1996    add: timer.device process updating considering modules every second
  807. **                 add: menu item: NewShell
  808. **  13 Apr 1996    rem: titlecmd
  809. **                 add: isempty ()
  810. **                 cng: FGetsF (): more flexible and improved
  811. **                 cng: rewrote EvalPrefs(): shorter and faster
  812. **  15 Apr 1996    fix: SingleCLI: STRING_KIND string wasn't terminated
  813. **  >>>>>>>>>>>    Beta 1
  814. **                 
  815. **  20 Apr 1996   [add: elementary Installer script]
  816. **  21 Apr 1996    cng: internal failat removed, DOS failat used
  817. **  23 Apr 1996   [cng: overworked guide: much more flexible now]
  818. **  29 Apr 1996    cng: more info if OpenScr() failed (WA_ErrorCode)
  819. **  11 May 1996    add: mod_Sys: MMU
  820. @ENDNODE
  821. /// ToDo
  822. @NODE "ToDo" "To do"
  823. @{END}
  824. @{HEAD "ToDo"}
  825. @{START}
  826. If anybody wants to write a config editor - just do it but please
  827. contact me first.
  828. @{START}
  829. @{JCENTER}
  830.  if-block handling
  831. @ENDNODE
  832. /// Thanks
  833. @NODE "Thanks" "Thanks to ..."
  834. @{END}
  835. @{HEAD "Thanks"}
  836. @{END}
  837.     @{BOLD "Special thanks to:"}
  838. @{JCENTER}
  839. Olaf Barthel ...................
  840. @{JLEFT}
  841.     @{BOLD "Alphabetic order:"}
  842. @{JCENTER}
  843.  Andreas M. Kirchwitz ...........
  844.  Barry McConnell ................
  845. Carsten Gerlach ................
  846. l Marziou ...................
  847.  Martin W. Scott ................
  848.  Petri Nordlund .................
  849.  Philippe Bastiani ..............
  850.  Raymond Penners ................
  851. @{JLEFT}
  852.     @{BOLD "BetaTester:"}
  853. @{JCENTER}
  854.  Hermes Trismegistus ............
  855. Marc Feininger .................
  856. Roberto Agria ..................
  857. Thomas Pilgaard Nielsen ........
  858. Thomas Reinhardt ...............
  859. @{JLEFT}
  860.     @{BOLD "And last but not least:"}
  861. @{JCENTER}
  862.  everybody who wrote me, really !
  863. @{JLEFT}
  864. @ENDNODE
  865. /// startup-sequence
  866. @NODE "startup-sequence" "s/startup-sequence Example"
  867. @{END}
  868. FAILAT 21
  869. SetPatch    >NIL:
  870. ASSIGN       ENV:  ENVARC:      ; just temporary
  871. ; if you use HDEnv, e.g do an
  872. ; Assign env:  sys:prefs/env
  873. ; instead
  874. ; Include CyberGraphX to use a cgfx screen for BootGauge
  875. SYS:Devs/Monitors/Spectrum
  876. BootGauge
  877. ENDSHELL    >NIL:
  878. @ENDNODE
  879. /// system-startup
  880. @NODE "system-startup" "s/system-startup Example"
  881. @{END}
  882. Failat 21
  883. Relabel drive RAM: name "Ram-Disk"
  884. Copy     >NIL: SYS:S/RAM.info RAM:Disk.info
  885. MakeDir  >NIL: Ram:T Ram:Clipboards
  886. ; System Assigns - - - - - - - - - - - - - - - - - -
  887. Execute     S:Assign/System.assign
  888. HDEnv
  889. ; KingCon - - - - - - - - - - - - - - - - - - - - - -
  890. Assign    CON: Dismount                                ; use KingCon instead of CON:
  891. Assign    RAW: Dismount                                ; use KingCon instead of RAW:
  892. ; Drivers - - - - - - - - - - - - - - - - - - - - - -
  893. Mount    >NIL: DEVS:DOSDrivers/~(#?.info)
  894. MFSMount       DEVS:DOSDrivers/~(#?.info)
  895.      DEVS:Monitors/VGAOnly
  896. List     >NIL: DEVS:Monitors/~(#?.info|Spectrum) to T:Monitors LFORMAT "DEVS:Monitors/%s"
  897. Execute  >NIL:    T:Monitors
  898. Delete   >NIL:    T:Monitors
  899. RUN      >NIL: MagicWB-Demon 4,123,123,123 5,175,175,175 6,170,144,124 7,255,169,151 ; arg "xen" -> Gag
  900. ; User Assigns - - - - - - - - - - - - - - - - - - -
  901. Execute     S:Assign/Directory.assign
  902. Execute     S:Assign/Art.assign
  903. Execute     S:Assign/Dev.assign
  904. Execute     S:Assign/DFA.assign
  905. Execute     S:Assign/HD.assign
  906. Execute     S:Assign/MagicWB.assign
  907. Execute     S:Assign/Misc.assign
  908. Execute     S:Assign/MUI.assign
  909. Execute     S:Assign/Music.assign
  910. Execute     S:Assign/Text.assign
  911. Execute     S:Assign/UMS_UUCP.assign
  912. ; System - - - - - - - - - - - - - - - - - - - - - -
  913. AddDataTypes REFRESH QUIET
  914. IPrefs
  915. ; Startup-Seqs - - - - - - - - - - - - - - - - - - -
  916. Execute     S:User-Startup
  917. Execute     S:Path-Startup
  918. Assign ADD  C:  util:misc/Executive            ; BootGauge can't handle path
  919. RUN <NIL: >NIL: util:misc/Executive/Executive  ; task scheduler
  920. RUN      >NIL: SSD 0 25 gvpscsi.device  ; send ticks to cd-rom
  921. RUN      >NIL: TextDTPatch              ; search support for text.datatype
  922. RUN      >NIL: cdity:ReKeyIt
  923. RUN      >NIL: cdity:ToolManager        ; to be ready when WB pops up
  924. RUN      >NIL: MCP                      ; the greatest hack ever !
  925. SmartWB QUIET
  926. LoadWB CLEANUP
  927. @ENDNODE
  928. /// BootGauge.prefs
  929. @NODE "BootGauge.prefs" "env[arc]:BootGauge/BootGauge.prefs"
  930. @{END}
  931. #    Configuration file for BootGauge
  932. #       Copyright 
  933.  1995/1996 by Timo C. Nentwig
  934. #       all rights reserved !
  935. #       Tcn@techbase.in-berlin.de
  936. # GLOBAL
  937. WINDOW_PEN             5
  938. TITLE_CMD              FALSE
  939. DRIVECLICK             FALSE
  940. SNAPWINPOS             TRUE
  941. # SEQUENCE
  942. SEQ_PATH               sys:s/specified-sequence
  943. SEQ_FAILAT             21
  944. # SCREEN
  945. FONTNAME               helvetica.font
  946. FONTSIZE               11
  947. MODEID                 167936                          # PAL HiRes
  948. SCREEN_PEN             3
  949. SCREEN_CHECKED         FALSE
  950. TITLEBAR               FALSE
  951. BLACKBORDER            TRUE
  952. # POINTER
  953. POINTER_CENTER         TRUE
  954. POINTER_POS_X          10                              # center is TRUE
  955. POINTER_POS_Y          10                              # center is TRUE
  956. # DRIPENS
  957. #DETAILPEN
  958. #BLOCKPEN
  959. #TEXTPEN
  960. #SHINEPEN
  961. #SHADOWPEN
  962. #FILLPEN
  963. #FILLTEXTPEN
  964. #BACKGROUNDPEN
  965. #HIGHLIGHTTEXTPEN
  966. #BARDETAILPEN
  967. #BARBLOCKPEN
  968. #BARTRIMPEN
  969. # MODULES
  970. MODULE_TEXT            TRUE
  971. MODULE_DEVS            TRUE
  972. MODULE_GAUGE           TRUE
  973. MODULE_MEM             TRUE
  974. MODULE_SYS             TRUE
  975. MODULE_TIME            TRUE
  976. # MODULE: GAUGE
  977. GAUGE_GAD_QUIT         TRUE
  978. GAUGE_TITLE            window title
  979. GAUGE_GROUP            group title
  980. GAUGE_QUIT             quit gadget
  981. # MODULE: DEVS
  982. DEVS_TITLE             window title
  983. DEVS_GROUP             group title
  984. # MODULE: MEM
  985. MEM_TITLE              window title
  986. MEM_GROUP              group title
  987. MEM_FREE               free
  988. MEM_CHIP               chip mem
  989. MEM_FAST               fast mem
  990. MEM_TOTAL              all together
  991. # MODULE: SYS
  992. SYS_TITLE              window title
  993. SYS_GROUP              group title
  994. SYS_KICKSTART          kick
  995. SYS_EXEC               exec
  996. SYS_CPU                CPU
  997. SYS_FPU                FPU
  998. SYS_CHIPSET            chips
  999. SYS_VIDEOSET           video system
  1000. SYS_HIGHLABEL          TRUE
  1001. # MODULE: TEXT
  1002. TEXT_TITLE             window title
  1003. # MODULE: TIME
  1004. TIME_TITLE             window title
  1005. TIME_GROUP             group title
  1006. TIME_DAY               day is
  1007. TIME_DATE              date is
  1008. TIME_TIME              time is
  1009. #see @{"sc:help/sc_lib.guide" LINK "sc_lib_part"} for variables
  1010. TIME_FMT_DAY           %A
  1011. TIME_FMT_DATE          %d-%m-%y
  1012. TIME_FMT_TIME          %H:%M:%S
  1013. @ENDNODE
  1014. /// sc_lib_part
  1015. @NODE "sc_lib_part" "sc:help/sc_lib.guide notch"
  1016. @{END}
  1017. @{HEAD "sc_lib"}
  1018. Cutted from sc:help/sc_lib.guide:
  1019.     Specifier   Replaced with . . .
  1020.     ----------  -------------------
  1021.        %a       the locale's abbreviated weekday name
  1022.        %A       the locale's full weekday name
  1023.        %b       the locale's abbreviated month name
  1024.        %B       the locale's full month name
  1025.        %c       the locale's appropriate date and time representation
  1026.        %d       the day of the month as a decimal number (01-31)
  1027.        %H       the hour (24-hour clock) as a decimal number (00-23)
  1028.        %I       the hour (12-hour clock) as a decimal number (00-12)
  1029.        %j       the day of the year as a decimal number (001-366)
  1030.        %m       the month as a decimal number (01-12)
  1031.        %M       the minute as a decimal number (00-59)
  1032.        %p       the locale's equivalent of the AM and PM designations
  1033.                 associated with a 12-hour clock
  1034.        %S       the second as a decimal number (00-61)
  1035.        %U       the week number of the year (the first Sunday as the
  1036.                 first day of week 1) as a decimal number (00-53)
  1037.        %w       the weekday as a decimal number (0-6), where Sunday is 0
  1038.        %W       the week number of the year (the first Monday as the
  1039.                 first day of week 1) as a decimal number (00-53)
  1040.        %x       the locale's appropriate date representation
  1041.        %X       the locale's appropriate time representation
  1042.        %y       the year without the century as a decimal number (00-99)
  1043.        %Y       the year with the century as a decimal number
  1044.        %Z       the time zone name or abbreviation; no characters
  1045.                 indicates the time zone is not determinable
  1046.        %%       a percent sign.
  1047. @ENDNODE
  1048.